#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
#include <cmath>
#include <vector>
#include <list>
#include <queue>
#include <stack>
#include <map>
#include <unordered_map>
#include <unordered_set>
#include <set>
#include <bitset>
#include <utility>
using namespace std;

#define mm(a, n) memset(a, n, sizeof a)
#define mk(a, b) make_pair(a, b)

const double eps = 1e-6;
const int INF = 0x3f3f3f3f;

typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int, int> PII;
typedef pair<double, double> PDD;
typedef pair<LL, LL> PLL;
typedef pair<int, LL> PIL;

inline void quickread()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
}

inline char nc()
{
    static char buf[100000], *p1 = buf, *p2 = buf;
    return p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 100000, stdin), p1 == p2) ? EOF : *p1++;
}
inline int read()
{
    static char c = nc();
    int x = 0, f = 1;
    for (; c > '9' || c < '0'; c = nc())
        if (c == '-')
            f = -1;
    for (; c <= '9' && c >= '0'; c = nc())
        x = (x << 3) + (x << 1) + c - 48;
    return x * f;
}

int n;

inline void solution()
{
    n = read();
    int a = 0, b = 0, c = 0, d = 0;
    for (int i = 0; i < n; i ++ ) {
        int m = read();
        if (m >= 0 && m < 300) a ++ ;
        else if (m < 500) b ++ ;
        else if (m < 600) c ++ ;
        else d ++ ;
    } 
    cout << (int) ((a * 1.0) / n * 100) << "%" << endl;
    cout << (int) ((b * 1.0) / n * 100) << "%" << endl;
    cout << (int) ((c * 1.0) / n * 100) << "%" << endl;
    cout << (int) ((d * 1.0) / n * 100) << "%" << endl;
}

int main()
{
    freopen("input.txt", "r", stdin);
    quickread();
    solution();
    return 0;
}